草庐IT

java - 装饰器模式和@Inject

全部标签

javascript - JavaScript 装饰器的意义何在?

我在谷歌上搜索了JavaScript装饰器,但我不确定使用装饰器调用函数和正常调用函数之间有什么区别。functionmyFunction(text){console.log(text)}myFunction()对比@myFunction对比@myFunction()我觉得我在这里错了。谁能解释一下? 最佳答案 装饰器用于装饰函数。假设您想要键入自己的装饰器,它可用于查看函数需要运行多长时间。你可以写一个装饰器@time()来做这件事。完成后,您可以在要跟踪的每个函数之前使用此装饰器。装饰器用作高阶函数,主要是让您的代码具有功能组合

javascript - 一种客观的方法来衡量 JavaScript 中不同继承模式的内存/速度?

我经常看到经典(通过某些库伪造)、伪经典和原型(prototype)继承之间的争论提到“效率”。但是,我从未见过任何数据支持此类内容。更不用说“效率”在涉及编码风格而不是算法时似乎是一个模棱两可的词。我想做一些测试来对其中一些模式和库进行“基准测试”。这似乎与我过去见过的大多数算法或显示基准明显不同。你们认为需要测试的重要内容是什么,可靠地获得这些数字的最佳方法是什么。我目前的想法:实例化速度(创建几千个对象的时间使用相同的每个模式功能)内存使用情况(我能想到的唯一方法是查看我在任务管理器...有没有更好的方式)访问内部属性和方法的速度(迭代再次计时)复制速度(迭代时间)代码行数(同行

javascript - Javascript 模块模式有什么好处?

我一直在研究为我的团队提出标准化的Javascript编码风格。大多数资源现在推荐涉及闭包的“模块”模式,例如:varModule=function(){someMethod=function(){/*...*/};return{someMethod:someMethod};}();并像Module.someMethod();一样调用它。这种方法似乎只适用于传统OOP上下文中的静态方法,例如用于获取/保存数据的存储库类、用于发出外部请求的服务层等。除非我遗漏了什么,否则模块模式不打算与通常需要传递给服务方法或从服务方法传递给UI粘合代码的数据类(想想DTO)一起使用。我看到引用的一个共

javascript - 在 Javascript 中,如何在不更改函数的情况下检查函数是否处于严格模式*?

我想编写一个测试套件以确保某些给定函数使用严格模式。它们有很多,手动检查它们似乎是一件苦差事。Ananswerinasimilarquestion在函数定义上使用正则表达式进行检查。但是,我相信这会误检测被测试函数位于具有“usestrict”或文件级“usestrict”声明的函数内的情况。答案说“usestrict”是前置的,但在我的环境(MozillaRhino)中,情况并非如此:$catstrict_sub.js"usestrict";varstrict_function=function(){not_a_real_global="foo";};print(strict_fun

javascript - IE 中的 InnerHTML/outerHTML 不反射(reflect)复选框状态,但在怪癖模式下除外

我目前正在与一个IEJavaScript/DOM错误作斗争(这很有趣),它确实难倒了我。有问题的代码将一些复选框复制到一个表单中,并且需要维护它们的选中状态。问题是,IE(特别是IE8,虽然我猜其他人也是如此)不想这样做。我已将错误本身缩小到一个非常小的测试用例。基本上,页面上没有DOCTYPE时一切正常,但当存在DOCTYPE时它们会被破坏。我的预料恰恰相反,但谁知道IE。以下是最简单的测试用例。对于它们中的每一个:在IE中打开页面,切换复选框,然后单击“测试”。不产生错误:TESTdocument.getElementById('break').onclick=function()

javascript - 这两种 JavaScript 模式之间有什么区别吗?

查看一些JavaScript库和其他人的代码我看到了两种常见模式,我不知道使用其中一种是否有区别或优势。模式看起来有点像这样:1.varapp=(function(){//Privatevars//Modulevarobj={prop:"",method:function(){}};returnobj;})();2.(function(){//Privatevars//Modulevarobj={prop:"",method:function(){}};window.app=obj;})();这些模式是否相同,或者其中一个比另一个有优势或不同用途?提前致谢。

javascript - OLOO 模式说明

我仍在学习,但最近将我想从事的领域更改为网络开发。所以编程对我来说并不是什么新鲜事,但我从来没有真正看过javascript。我正在尝试快速学习,但我对javascript中使用的不同继承模式感到困惑。我查看了经典原型(prototype)链,其中.prototype引用由程序员设置(我认为这通常被称为原型(prototype)模式)。然后我阅读了很多关于OLOO及其在简单性方面的优势的博客和文章。因此,我尝试自己编写一个小示例,在研究一种好的方法时,我想出了一段代码,我无法真正将其放入这两个类别中的任何一个。如果有人想看的话,我做了一个fiddle:http://jsfiddle.n

javascript - CefSharp 在任何文档加载/处理之前注入(inject) Javascript

对于我正在处理的项目,我需要在任何网页文档处理开始之前注入(inject)javascript。这可以通过WebBrowser组件轻松实现,但我在使用CefSharp时遇到困难。这里是问题的一个简化,网页需要一个“InjectedObject”才能发挥作用。调用网页而不注入(inject)发生在文档的最顶部,或者在处理文档之前被评估/执行将导致:=====失败时的html示例输出=====存在对象吗?错误=====我需要显示网页的地方:=====成功时的html示例输出=====存在对象吗?正确=====isObjectPresent=typeofInjectedObject=="ob

javascript - 如何使用代码注入(inject)调试 Chrome 扩展示例?

也许这个问题有点菜鸟风格,但我不明白这些JavaScript的东西。我的问题:如何调试以下注入(inject)代码chromeextensionexample?文件popup.js执行send_links.js(如果我理解正确的话,这是注入(inject)的文件)。我想调试send_links.js。我无法设置任何断点,因为我在Chrome的开发人员工具中看不到send_links.js。我尝试了命令“调试器”;在send_links.js但它不起作用。“console.log(“等等”);”命令也被忽略。谢谢! 最佳答案 如果您在

javascript - IE11 中的 localStorage 访问被拒绝,但仅在桌面模式下(不在地铁模式下)

所以我有一个在Adob​​eAEM5.6.1上运行的网站,它检查localStorage是否可以访问。对我来说,问题是当我从桌面版IE11(在运行Windows8.1Pro的HPElitePad900上)访问该站点时,它因“拒绝访问”而中断。在同一台设备上,它可以正常使用IE11的地铁模式版本。它在至少两台其他计算机上也能正常工作,一台nativePC,一台virtualbox:ed在我的mac上。我知道您在运行本地html文件时不允许访问localStorage,但这是在我们的服务器上运行的。非功能性浏览器的访问权限/安全设置有何不同?有没有办法用javascript以编程方式检查这